/* @(#)GlyphZoomSize.java
** 
** Copyright (C) 2012 by Steven D. Stamps
**
**             Trademarks & Copyrights
** Flywheel Management Science(TM), Flywheel Management Model(TM),
** Flywheel Story Editor(TM) and FlywheelMS(TM) are exclusive trademarks
** of Steven D. Stamps and may only be used freely for the purpose of
** identifying the unforked version of this software.  Subsequent forks
** may not use these trademarks.  All other rights are reserved.
**
** DecKanGL (Decorated Kanban Glyph Language) and TribKn (Tribal Knowledge)
** are also exclusive trademarks of Steven D. Stamps.  These may be used
** freely within the unforked FlywheelMS application and documentation.
** All other rights are reserved.
**
** gConGUI (game Controller Graphical User Interface) is an exclusive
** trademark of Steven D. Stamps.  This trademark may be used freely
** within the unforked FlywheelMS application and documentation.
** All other rights are reserved.
**
** Trademark information is available at
** <http://www.flywheelms.com/trademarks>
**
** Flywheel Management Science(TM) is a copyrighted body of management
** metaphors, governance processes, and leadership techniques that is
** owned by Steven D. Stamps.  These copyrighted materials may be freely
** used, without alteration, by the community (users and developers)
** surrounding this GPL3-licensed software.  Additional copyright
** information is available at <http://www.flywheelms.org/copyrights>
**
**              GPL3 Software License
** This program is free software: you can use it, redistribute it and/or
** modify it under the terms of the GNU General Public License, version 3,
** as published by the Free Software Foundation. This program is distributed
** in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
** even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
** PURPOSE.  See the GNU General Public License for more details. You should
** have received a copy of the GNU General Public License, in a file named
** COPYING, along with this program.  If you cannot find your copy, see
** <http://www.gnu.org/licenses/gpl-3.0.html>.
*/

package com.flywheelms.library.deckangl.enumerator;

public enum GlyphZoomSize {
	SMALL (16, 18, 6, 13, 90, 90, 4, 12, 20, 8, 8, 12, 18, 200, 800, 10),  // junk
	MEDIUM (15, 20, 7, 17, 100, 100, 9, 12, 20, 8, 8, 12, 18, 200, 800, 10),  // junk
	LARGE (18, 24, 9, 20, 80, 80, 4, 1, 30, 8, 8, 18, 28, 204, 800, 25),  // tested
	XL (26, 28, 6, 13, 120, 120, 4, 12, 20, 8, 8, 12, 18, 200, 800, 10),  // junk
	ACTIVITY (26, 28, 6, 13, 200, 200, 4, 12, 20, 8, 8, 12, 18, 200, 800, 10);  // junk

	private final int annotationTextSize;
	private final int nodeQualityTextSize;
	private final int annotationCharacterWidth;
	private final int annotationCharacterHeight;
	private final int decoratedNounWidth;
	private final int decoratedNounHeight;
	private final int decoratedNounMargin;
	private final int annotationBottomMarginHeight;
	private final int annotationBottomZoneHeight;
	private final int annotationLeftMarginWidth;
	private final int annotationRightMarginWidth;
	private final int annotationTopMarginHeight;
	private final int annotationTopZoneHeight;
	private final int canvasWidth;
	private final int canvasHeight;
	private final int bottomZoneStartFudgeFactor;  // HACK ALERT - SDS
	
	private GlyphZoomSize(
			int anAnnotationTextSize,
			int aNodeQualityTextSize,
			int anAnnotationCharacterWidth,
			int anAnnotationCharacterHeight,
			int aDecoratedNounWidth,
			int aDecoratedNounHeight,
			int aDecoratedNounMargin,
			int anAnnotationBottomMarginHeight,
			int anAnnotationBottomZoneHeight,
			int anAnnotationLeftMarginWidth,
			int anAnnotationRightMarginWidth,
			int anAnnotationTopMarginHeight,
			int anAnnotationTopZoneHeight,
			int aCanvasHeight,
			int aCanvasWidth,
			int aBottomZoneStartFudgeFactor ) {
		this.annotationTextSize = anAnnotationTextSize;
		this.nodeQualityTextSize = aNodeQualityTextSize;
		this.annotationCharacterWidth = anAnnotationCharacterWidth;
		this.annotationCharacterHeight = anAnnotationCharacterHeight;
		this.decoratedNounWidth = aDecoratedNounWidth;
		this.decoratedNounHeight = aDecoratedNounHeight;
		this.decoratedNounMargin = aDecoratedNounMargin;
		this.annotationBottomMarginHeight = anAnnotationBottomMarginHeight;
		this.annotationBottomZoneHeight = anAnnotationBottomZoneHeight;
		this.annotationLeftMarginWidth = anAnnotationLeftMarginWidth;
		this.annotationRightMarginWidth = anAnnotationRightMarginWidth;
		this.annotationTopMarginHeight = anAnnotationTopMarginHeight;
		this.annotationTopZoneHeight = anAnnotationTopZoneHeight;
		this.canvasWidth = aCanvasWidth;
		this.canvasHeight = aCanvasHeight;
		this.bottomZoneStartFudgeFactor = aBottomZoneStartFudgeFactor;
	}
	
	public int getAnnotationTextSize() {
		return this.annotationTextSize;
	}
	
	public int getNodeQualityTextSize() {
		return this.nodeQualityTextSize;
	}

	public int getAnnotationCharacterWidth() {
		return this.annotationCharacterWidth;
	}

	public int getAnnotationCharacterHeight() {
		return this.annotationCharacterHeight;
	}

	public int getDecoratedNounWidth() {
		return this.decoratedNounWidth;
	}

	public int getDecoratedNounHeight() {
		return this.decoratedNounHeight;
	}

	public int getDecoratedNounMargin() {
		return this.decoratedNounMargin;
	}

	public int getAnnotationBottomMarginHeight() {
		return this.annotationBottomMarginHeight;
	}

	public int getAnnotationBottomZoneHeight() {
		return this.annotationBottomZoneHeight;
	}

	public int getAnnotationLeftMarginWidth() {
		return this.annotationLeftMarginWidth;
	}

	public int getAnnotationRightMarginWidth() {
		return this.annotationRightMarginWidth;
	}

	public int getAnnotationTopMarginHeight() {
		return this.annotationTopMarginHeight;
	}

	public int getAnnotationTopZoneHeight() {
		return this.annotationTopZoneHeight;
	}

	public int getCanvasWidth() {
		return this.canvasWidth;
	}

	public int getCanvasHeight() {
		return this.canvasHeight;
	}

	public int getBottomZoneStartFudgeFactor() {
		return this.bottomZoneStartFudgeFactor;
	}
	
}
